From 78569aa816df0cccdb0c8d7e5359a85e66337265 Mon Sep 17 00:00:00 2001 From: "kfraser@localhost.localdomain" Date: Mon, 10 Sep 2007 17:49:58 +0100 Subject: [PATCH] x86: Handle 'self-IPI' on legacy UP systems with no APIC. Signed-off-by: Keir Fraser --- xen/arch/x86/smp.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/xen/arch/x86/smp.c b/xen/arch/x86/smp.c index 31fc8adbe6..1d83a3aba3 100644 --- a/xen/arch/x86/smp.c +++ b/xen/arch/x86/smp.c @@ -279,6 +279,19 @@ int on_selected_cpus( ASSERT(local_irq_is_enabled()); + /* Legacy UP system with no APIC to deliver IPIs? */ + if ( unlikely(!cpu_has_apic) ) + { + ASSERT(num_online_cpus() == 1); + if ( cpu_isset(0, selected) ) + { + local_irq_disable(); + func(info); + local_irq_enable(); + } + return 0; + } + if ( nr_cpus == 0 ) return 0; -- 2.30.2